// easy

// 给定一个数组，找出其中相同元素个数最多的元素

// 思路：利用哈希表，遍历一遍nums，用哈希表统计每个元素num出现的次数，再遍历一遍哈希表，找出元素个数最多的元素即可

// 时间复杂度：O(N)
// 空间复杂度：O(N)

function majorElement(nums) {
    let map = new Map
    for (let i = 0; i < nums.length; i++) {
        if (map.has(nums[i])) {
            map.set(nums[i], map.get(nums[i]) + 1)
        } else {
            map.set(nums[i], 1)
        }      
    }
    let max = 0
    let max_index = -1
    for (const [key, value] of map) {
        if (value > max) {
            max = value
            max_index = key
        }
    }
    return max_index
}

let arr = [0, 0, 0, 1, 1, 2, 2, 2, 2, 4, 5]
console.log(majorElement(arr));